package com.autumn.zero.listing;

import java.util.List;

import com.autumn.mybatis.criterion.Query;

/**
 * 
 * 列表表达式
 * 
 * @author 杨昌国 2018-12-13 16:47:25
 */
public interface IAutumnZeroListingExpression {

	/**
	 * 获取查询
	 * 
	 * @return
	 */
	Query getQuery();

	/**
	 * 获取结果类型
	 * 
	 * @return
	 */
	Class<?> getResultClass();

	/**
	 * 查询记录数
	 * 
	 * @param query 查询
	 * @return
	 */
	int executeCount(Query query);

	/**
	 * 执行结果
	 * 
	 * @param query 查询
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	List executeResult(Query query);
}
